home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 July / EnigmA AMIGA RUN 20 (1997)(G.R. Edizioni)(IT)[!][issue 1997-07 & 08][EAR-CD IV].iso / earcd / comm / ums / pint.lha / UMS / Rexx / ADM.pint next >
Text File  |  1997-03-04  |  3KB  |  127 lines

  1. /* $VER: ADM.pint 1.0 (29.8.95)
  2.  
  3.    Author:
  4.     Jan Geissler <jan@digit.franken.de>
  5.  
  6.    Updated for PINT (22.2.97):
  7.     Magnus Heino (nd95mho@Student.HGS.SE)
  8.  
  9.    Function:
  10.     Verwaltung des PINT-Adreßbuchs durch ADM.
  11.     Fügt EMail zu bestehendem Eintrag hinzu, falls vorhanden.
  12.     ---
  13.     ADM handles PINT's address book
  14.     Appends EMail if name already present in address file.
  15.  
  16.  
  17.    History:
  18.     0.1   initial version
  19.     0.2   path variable had previously not been used for mistake.
  20.     1.0   public release for IN1.3
  21.  
  22.    Comments:
  23.     - Programmpfad und Adreßdatei muß unten evtl. angepaßt werden
  24.     - Vorschläge sind immer willkommen!
  25.     ---
  26.     - program path and address file might have to be adjusted
  27.       to fit to your needs.
  28.     - Suggestions welcome!
  29.  
  30.  
  31.  
  32.    Requires:
  33.     UMSServer 11.28 or newer
  34.     ums.library 11.18 or newer
  35.     ADM 2.0 or newer
  36.  
  37.    Example for "ums.config":
  38.     ( PINT.Book "!ADM.intui" )
  39.  
  40. */
  41.  
  42. progpath = "AddressMaster"                   /* Here, AddressMaster must bei in the shell path */
  43. adrfile  = "WORK:ADM/Adressen/Adressen.adm"  /* Adjust your file to be loaded */
  44.  
  45. PARSE ARG Command " " Name "," Addr "," Comment
  46. OPTIONS RESULTS
  47. SIGNAL ON ERROR
  48.  
  49. IF ~EXISTS(adrfile) THEN DO
  50.    'REQUEST "Error" "OK" "ADM data file not present. Please check the macro ADM.pint"'
  51.    EXIT 10
  52. END
  53.  
  54. IF ~SHOW('P','ADM.UMS') THEN DO
  55.    cmd = "run >NIL:" progpath "CLOSEQUIT PORTNAME ADM.UMS ICONIFY FROM" adrfile
  56.    ADDRESS COMMAND cmd
  57.    if rc = 5 then do
  58.       say 'Unable to load command"' ||progpath|| '", check the macro.'
  59.       exit
  60.    end
  61.    address command "waitforport ADM.UMS"
  62.    if rc = 5 then do
  63.       say 'Unable to load command "WaitForPort".'
  64.       exit
  65.    end
  66.    wait 10
  67. END
  68.  
  69.  
  70. IF Command="QUERY" THEN DO
  71.  ADDRESS 'ADM.UMS' ACTIVATEFIRST
  72.  ADDRESS 'ADM.UMS' ADDRINMEM
  73.  numadr = RESULT
  74.  num = 0
  75.  
  76.  DO FOR numadr-1
  77.    ADDRESS 'ADM.UMS' GETADDRESS stem
  78.    IF stem.fullname ~= "" THEN DO
  79.       IF stem.EMAIL1 ~= "" THEN
  80.          'ADD "'||stem.FULLNAME||'" "'||stem.EMAIL1||'" "'||remark||'"'
  81.       IF stem.EMAIL2 ~= "" THEN
  82.          'ADD "'||stem.FULLNAME||'" "'||stem.EMAIL2||'" "'||remark||'"'
  83.    END
  84.    num = num + 1
  85.    IF num < numadr THEN
  86.       ADDRESS 'ADM.UMS' ACTIVATENEXT
  87.  END
  88. END
  89.  
  90. IF Command="ADD" THEN DO
  91.  
  92.   P=LASTPOS(" ",Name)
  93.   IF P=0 THEN First=""
  94.   ELSE DO
  95.     First=LEFT(Name,P-1)
  96.     Name=SUBSTR(Name,P+1)
  97.   END
  98.  
  99.   sd.firstname = STRIP(first)
  100.   sd.lastname  = STRIP(name)
  101.  
  102.   ADDRESS 'ADM.UMS' SEARCH 1 sd
  103.   num = RESULT
  104.  
  105.   IF num<0 THEN DO
  106.      stem.firstname = STRIP(first)
  107.      stem.lastname  = STRIP(name)
  108.      stem.email1    = STRIP(Addr)
  109.      stem.remark1   = STRIP(Comment)
  110.      ADDRESS 'ADM.UMS' NEWADDRESS stem
  111.   END; ELSE DO
  112.      ADDRESS 'ADM.UMS' ACTIVATE num
  113.      ADDRESS 'ADM.UMS' GETADDRESS stem
  114.      SELECT
  115.        WHEN (stem.email1 = "" | stem.email1 = Addr) THEN stem.email1 = Addr
  116.        WHEN (stem.email2 = "" | stem.email2 = Addr) THEN stem.email2 = Addr
  117.        OTHERWISE stem.remark1 = stem.remark1 || "0a"X || "EMail:" Addr
  118.      END
  119.      stem.remark1   = stem.remark1 || "0A"x || STRIP(Comment)
  120.      ADDRESS 'ADM.UMS' CHANGEADDRESS stem
  121.      ADDRESS 'ADM.UMS' SAVE FORCE
  122.   END;
  123.  END
  124.  
  125. ERROR:
  126. EXIT 0
  127.